package com.shujia.scala

import scala.io.Source

object Demo29Implicit {
  def main(args: Array[String]): Unit = {
    /**
     * 隐式转换类
     *
     */

    val read = new Read("data/students.txt")
    val lines: List[String] = read.read()
    println(lines)

    //使用隐式转换
    //相当于String被隐式转换成了Read类型
    val scores: List[String] = "data/score.txt".read()
    println(scores)

  }


  /**
   * 隐式转换类：可以隐式的将类的构造函数参数类型转换成当前类的类型
   *
   */

  implicit class Read(path: String) {
    def read(): List[String] = {
      //读取文件
      Source.fromFile(path).getLines().toList
    }
  }
}
